package com.cxhc.system.service.cockpit;


import com.cxhc.system.domain.app.SysEnterprise;

import java.util.List;
import java.util.Map;

/**
 * 企业
 *
 * @author wuxuan
 * @date 2024-08-08
 */
public interface ISysEntService {

    /**
     * 根据时间查询
     *
     * @param date 时间
     * @return 企业信息
     */
    int selectEntByDate(String date,String areaId);

    List<String> selectFloorList(Long areaID);

    List<SysEnterprise> selectEnterpriseList(SysEnterprise sysEnterprise);

    /**
     * 查询企业分类占比
     *
     * @return 企业分类占比
     */
    Map<String,String> selectEntByType(String date,String areaId);

    /**
     * 查询企业分类占比
     *
     * @return 企业分类占比
     */
    Map<String,String> queryEntEvent(String date,String areaId);


    /**
     * 查询企业分类占比
     *
     * @return 企业分类占比
     */
    Map<String,String> queryEntUser(String date,String areaId);

    /**
     * 查询企业分类占比
     *
     * @return 企业分类占比
     */
    Map<String,Map<String,Object>> queryByFloor(Map<String,String> map);

    /**
     * 查询企业
     *
     * @param ID 企业主键
     * @return 企业
     */
    public SysEnterprise selectSysEnterpriseByID(Long ID);

    /**
     * 查询企业列表
     *
     * @param sysEnterprise 企业
     * @return 企业集合
     */
    public Map<String, List<SysEnterprise>> selectSysEnterpriseList(SysEnterprise sysEnterprise);

    /**
     * 查询企业列表
     *
     * @param sysEnterprise 企业
     * @return 企业集合
     */
    public List<SysEnterprise> selectSysEnterpriseListForCockpit(SysEnterprise sysEnterprise);

    /**
     * 新增企业
     *
     * @param sysEnterprise 企业
     * @return 结果
     */
    public int insertSysEnterprise(SysEnterprise sysEnterprise);

    /**
     * 修改企业
     *
     * @param sysEnterprise 企业
     * @return 结果
     */
    public int updateSysEnterprise(SysEnterprise sysEnterprise);

    /**
     * 批量删除企业
     *
     * @param IDs 需要删除的企业主键集合
     * @return 结果
     */
    public int deleteSysEnterpriseByIDs(Long[] IDs);

    /**
     * 删除企业信息
     *
     * @param ID 企业主键
     * @return 结果
     */
    public int deleteSysEnterpriseByID(Long ID,Long areaID);

    /**
     * 查询企业分类占比
     *
     * @return 企业分类占比
     */
    Map<String,String> queryEntEventForArea();
}
